package com.xmim.core.session;


public interface SessionManager<T extends Session> {
    /**
     * 新增会话监听
     *
     * @param sessionListener
     * @return
     */
    SessionManager<T> addSessionListener(SessionListener<T> sessionListener);

    /**
     * 新增会话
     *
     * @param sessionId
     * @param session
     * @return
     */
    SessionManager<T> addSession(String sessionId, T session);

    /**
     * 根据会话ID获取会话
     *
     * @param sessionId
     * @return
     */
    T getSession(String sessionId);

    /**
     * 根据会话ID销毁会话
     *
     * @param sessionId
     */
    void destroySession(String sessionId);

    /**
     * 判断会话是否存在
     *
     * @param sessionId
     * @return
     */
    boolean hasSession(String sessionId);

}
